From d82fb3b552d20a279efdd9408042183cfa02fb48 Mon Sep 17 00:00:00 2001 From: schererleander Date: Thu, 25 Dec 2025 23:33:25 +0000 Subject: initial commit --- app/blog/[slug]/page.tsx | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 app/blog/[slug]/page.tsx (limited to 'app/blog/[slug]') diff --git a/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx new file mode 100644 index 0000000..a066779 --- /dev/null +++ b/app/blog/[slug]/page.tsx @@ -0,0 +1,35 @@ +// app/blog/[slug]/page.tsx +import { format, parseISO } from 'date-fns' +import { allPosts } from 'contentlayer/generated' +import { MDXContent } from '@/components/mdx-content' + +export const generateStaticParams = async () => allPosts.map((post) => ({ slug: post._raw.flattenedPath })) + +export const generateMetadata = async ({ params }: { params: Promise<{ slug: string }> }) => { + const { slug } = await params + const post = allPosts.find((post) => post._raw.flattenedPath === slug) + if (!post) throw new Error(`Post not found for slug: ${slug}`) + return { title: post.title } +} + +const PostLayout = async ({ params }: { params: Promise<{ slug: string }> }) => { + const { slug } = await params + const post = allPosts.find((post) => post._raw.flattenedPath === slug) + if (!post) throw new Error(`Post not found for slug: ${slug}`) + + return ( +
+
+

{post.title}

+ +
+
+ +
+
+ ) +} + +export default PostLayout -- cgit v1.3.1